<?php
/**
 * @author		João Batista Neto
 * @brief		Classes e interfaces utilitárias
 * @package		rpo.util
 */

require_once 'rpo/base/IObject.php';

/**
 * @ingroup		MapReduce
 * @brief		Passo de mapeamento de objetos
 * @interface	MapStep
 */
interface MapStep extends IObject {
	/**
	 * @brief	Aceita um valor para ser mapeado
	 * @param	$mapReduce MapReduce Objeto que está fazendo o mapeamento
	 * @param	$key mixed Chave que será utilizada para o mapeamento
	 * @param	$value mixed Valor que será mapeado
	 * @see		MapReduce.emit()
	 */
	public function map( MapReduce $mapReduce , $key , $value );
}